package com.olap.starter.common.service.crud;

import com.alibaba.fastjson.JSONObject;
import com.olap.starter.common.vo.*;

import com.olap.starter.core.response.Result;
import reactor.core.publisher.Flux;

import java.util.List;
import java.util.Map;

public interface CRUDService {

    QueryData queryData(QueryParameter queryParameter);
    Flux<Map<String, Object>> queryFlux(QueryParameter queryParameter);
    Result modify(ModifyParameter modifyParameter);
    Result save(SaveParameter saveParameter);
    Result batchSave(BatchSaveParameter batchSaveParameter);
    Result delete(Map<String, Object> map);
    Result delete(DeleteParameter deleteParameter);
    Result batchDelete(BatchDeleteParameter batchDeleteParameter);
    Result batchDelete(DeleteParameterVue2 deleteParameter);

    Result batchModify(BatchUpdateParameter batchUpdateParameter);

    Result saveMainAndSubs(SaveMainAndSubTable saveMainAndSubTable);

    Result deleteMainAndSubs(DeleteMainAndSubTable deleteMainAndSubTable);
}
